package com.xxcxcxcx.jobsystem;

/**
 * Mod玩家数据
 */
public interface PlayerSaveData {
    /**判断玩家获得经验是否显示*/
    boolean isReadGainExperience();

    /**设置玩家获得经验是否显示*/
    void setReadGainExperience(boolean value);

    /**获取玩家离下一次可获得经验的时间*/
    int getExperienceCD(String job);

    /**设置玩家离下一次可获得经验的时间*/
    void setExperienceCD(String job, int cd);

    /**获取玩家职业等级*/
    int getLevel(String job);

    /**获取玩家职业经验*/
    double getExperience(String job);

    /**获取玩家职业经验系数*/
    double getCoefficient(String job);

    /**设置玩家职业等价*/
    void setLevel(String job, int level);

    /**设置玩家职业经验*/
    void setExperience(String job, double experience);

    /**设置玩家职业经验系数*/
    void setCoefficient(String job, double coefficient);

    /**增加玩家职业等级*/
    void addLevel(String job, int level);

    /**增加玩家职业经验*/
    void addExperience(String job, double experience);

    /**设置玩家职业经验系数*/
    void addCoefficient(String job, double coefficient);

    /**判断玩家是否可以获取所有职业的经验*/
    boolean canChange();

    /**设置玩家是否可以获取所有职业的经验*/
    void setChange(boolean canChange);

    /**设置经验衰减系数*/
    void setAttenuationTimes(int time);

    /**获取经验衰减系数*/
    int getAttenuationTimes();
}
